﻿using System;
using System.Collections.Generic;

namespace PerceptiveMCAPI.Types
{
    public class getAccountDetails_rewards
    {
        public int referals_this_month { get; set; }
        public bool notify_on { get; set; }
        public string notify_email { get; set; }
        public reward_credits credits { get; set; }
        public reward_inspections inspections { get; set; }
        public List<reward_referral> referrals { get; set; }
        public List<reward_applied> applied { get; set; }

        public getAccountDetails_rewards ()
        {
            this.credits = new reward_credits();
            this.inspections = new reward_inspections();
            this.referrals = new List<reward_referral>();
            this.applied = new List<reward_applied>();
        }

        public class reward_credits
        {
            public double this_month { get; set; }
            public double total_earned { get; set; }
            public double remaining { get; set; }
        }
        public class reward_inspections
        {
            public double this_month { get; set; }
            public double total_earned { get; set; }
            public double remaining { get; set; }
        }
        public class reward_referral
        {
            public string name { get; set; }
            public string email { get; set; }
            public DateTime signup_date { get; set; }
            public string type { get; set; }

            public reward_referral ()
            {
                signup_date = DateTime.MinValue;
            }
        }
        // TODO: no sample to figure out layout
        public class reward_applied
        {
            public object applied_temp { get; set; }
        }

    }
}
